perm filename MIX.DOC[MIX,SYS]1 blob
sn#020802 filedate 1970-12-13 generic text, type T, neo UTF8
00100 MM MM II XX XX
00200 MMM MMM II XX XX
00300 MMMM MMMM II XX XX
00400 MM MM MM MM II XX XX
00500 MM MM MM MM II XX XX
00600 MM MM MM MM II XX XX
00700 MM MMM MM II XXX
00800 MM M MM II XXX
00900 MM MM II XX XX
01000 MM MM II XX XX
01100 MM MM II XX XX
01200 MM MM II XX XX
01300 MM MM II XX XX
01400 MM MM II XX XX
00100 SUMMARY
00200
00300 MIX is a simulator for the MIX machine described in Knuth,
00400 vol. 1. It has all the features described there, except that it
00500 cannot do floating point arithmetic, and I/O is limited to a card
00600 reader, card punch, printer, and typewriter. It has a byte size of
00700 64.
00800
00900 MIX is actually a system of three major parts. One is the
01000 actual simulator. The second is the debugging package, which allows
01100 the user to examine and change loactions in core, set breakpoints,
01200 and perform other useful functions. The third is an assembler for
01300 the MIXAL assebly language (a free-format version of the language
01400 described in Knuth.) MIX incorporates all three parts into one
01500 program. The upper-level of this program is the simulator, and the
01600 user can call either of the other parts by pushing any of numerous
01700 "buttons" provided on the machine. For convenience, MIXAL may be run
01800 separately, without calling the simulator.
01900
02000 MIX is loaded by typing to the monitor:
02100 R MIX
02200
02300 MIXAL alone is loaded by typing to the monitor:
02400 R MIXAL
00100 DETAILS
00200
00300 about MIX:
00400
00500 MIX is the simulator with the debugger and MIXAL assembler
00600 incorporated into it. Essentially, it is simply a machine with a
00700 large number of buttons which you can push. These buttons allow you
00800 to tell the machine to do various things. MIX will tell you it is
00900 waiting for a button to be pushed by typing "#". You push a button
01000 by typing the name of the button followed by a carriage-return. Some
01100 buttons have abbreviations. The different buttons may be grouped
01200 into several different types. The buttons of each type, and MIX's
01300 response, are described below.
00100 buttons for machine operation:
00200
00300 GO or G This button causes one card to be read into
00400 locations 0-15. Then execution begins at
00500 location 0000.
00600
00700 LOAD or L This button causes one card to be read into
00800 locations 0-15. Then control returns to the
00900 user.
01000
01100 START or S This button causes the execution time to be
01200 set to zero and rJ to be set to zero. Then
01300 execution begins at location 0000.
01400
01500 CONT or C This button causes execution to be resumed at
01600 the location indicated by the program
01700 counter. (This works after halting,
01800 breakpointing, or stopping for any reason.)
01900
02000 HALT or H This doesn't do anything except return
02100 control to the user, where control already
02200 was. If you wish to stop the machine while it
02300 is running, type any character at all. This
02400 will cause MIX to stop as soon as the present
02500 instruction is finished.
02600
02700 STEP or X This button causes the next instruction (as
02800 indicated by the program counter) to be
02900 executed. Control then returns to the user.
03000
03100 ZXT This button causes the execution time to be
03200 set to zero.
03300
03400 ZPC This button causes the program counter to be
03500 set to 0000.
03600
03700 SETPC This button is used to set the program
03800 counter to whatever you want. When MIX asks
03900 for it, type the address you want the program
04000 counter to be set to.
04100
04200 EXIT This button causes MIX to exit, and your
04300 teletype is returned to monitor mode.
00100 buttons for finding out about the status of MIX:
00200
00300 Note: If you are at a III display, then you will see before you a
00400 picture of the MIX machine. It shows each of the registers, the
00500 execution time, the program counter (which will be the next
00600 instruction executed in the normal flow of control), the instruction
00700 which was just executed, and the overflow and comparison indicators.
00800 If you are not at a III display, I'm sorry, but you can't see the
00900 picture, you can only read the book.
01000
01100 DISP or D This button causes a type out giving
01200 information about the MIX m>)↓↓#
β≠K↔*k≠?KnQβ[/∪O'?rβ?→β&C∃β3∞s∨Wπ>(4(